
%%%%%%%%%%%%%%%%%%%%%%%%%%%% stuff to add later %%%%%%%%%%%%%%%%%%%%%%%%%
% Huet's Zipper								%
% GADTs									%
% \Wmega								%
% Okasaki								%
% 	RB trees, Binomial Heaps					%
% Xi									%
% 	Dependently typed data structures				%
% Hinze (RB trees) in JFP						%
% a later JFP pearl about RB trees					%
% 									%
% Simonet & Pottier :
%   Constraint-Based Type Inference for Guarded-Algebraic Data Types	%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@String{JFP = "J. Functional Programming"}

@InProceedings{FunctionalNotation,
  author =       {Ralf Hinze},
  title =        {Constructing red-black trees},
  conference =   {Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL)},
  month =        {September},
  year =         {1999},
  pages =        {89--99},
  note =         {The proceedings appear as a technical report of Columbia University, CUCS-023-99}
}

    Ralf Hinze. 
    Constructing red-black trees. 
    In Chris Okasaki, editor, Proceedings of the 
    Workshop on Algorithmic Aspects of Advanced Programming Languages (WAAAPL),
    WAAAPL'99, Paris, France, September 1999, pp. 89-99. 

@inproceedings{okasaki-adventure,
 author = {Chris Okasaki},
 title = {From fast exponentiation to square matrices: an adventure in types},
 booktitle = {Proceedings of the fourth ACM SIGPLAN international conference on Functional programming},
 year = {1999},
 isbn = {1-58113-111-9},
 pages = {28--35},
 location = {Paris, France},
 publisher = {ACM Press},
 }

@inproceedings{FunctionalDependencies,
 author =    {Mark P. Jones},
 title =     {Type Classes with Functional Dependencies},
 booktitle = {Proceedings of the 9th European Symposium on Programming Languages and Systems},
 year =      {2000},
 isbn =      {3-540-67262-1},
 pages =     {230--244},
 publisher = {Springer-Verlag},
 }

@inproceedings{xi-gadt,
author = "Hongwei Xi and Chiyan Chen and Gang Chen",
title = {Guarded Recursive Datatype Constructors},
booktitle = "Proceedings of the 30th ACM SIGPLAN Symposium on Principles of Programming Languages",
year = 2003,
month = "January",
address = "New Orleans",
pages = "224-235"
}

@UNPUBLISHED{simonet-pottier-hmg,
  AUTHOR = {Vincent Simonet and François Pottier},
  TITLE = {Constraint-Based Type Inference for Guarded Algebraic Data Types},
  PS = {http://cristal.inria.fr/~simonet/publis/simonet-pottier-hmg.ps.gz},
  PDF = {http://cristal.inria.fr/~simonet/publis/simonet-pottier-hmg.pdf},
  MONTH = JUL,
  YEAR = {2003}
}

@UNPUBLISHED{peytonjones-wobbly,
  AUTHOR = {Simon Peyton-Jones and Geoffrey Washburn and Stephanie Weirich},
  TITLE = {Wobbly Types: Type Inference for Generalised Algebraic Data Types},
  PS = {http://research.microsoft.com/Users/simonpj/papers/gadt/gadt.ps.gz},
  MONTH = JUL,
  YEAR = {2004}
}

@article{huet-zipper,
 author  = {G\'{e}rard Huet},
 title   = {Functional Pearl: The Zipper},
 journal = JFP,
 volume  = {7},
 number  = {5},
 year    = {1997},
 pages   = {549--554},
 publisher = {Cambridge University Press},
}

@article{plotkin-cps,
 author  = {Gordon D. Plotkin},
 title   = {Call-by-name, call-by-value and the $\lambda$-calculus},
 journal = {Theoretical Computer Science},
 volume  = {1},
 year    = {1975},
 pages   = {125--159},
}

@article{hatcliff-danvy-thunks,
 author  = {John Hatcliff and Olivier Danvy},
 title   = {Thunks and the Lambda-Calculus},
 journal = JFP,
 volume  = {7},
 number  = {3},
 month   = {May},
 year    = {1997},
 pages   = {303--319},
}

@article{RedBlackTypes,
 author  = {Stefan Kahrs},
 title   = {Functional Pearl: Red-Black Trees with Types },
 journal = JFP,
 volume  = {11},
 number  = {4},
 year    = {2001},
 pages   = {425--432},
 publisher = {Cambridge University Press},
}

@TechReport{FirstClassPhantomTypes,
  author =       {James Cheney and Ralf Hinze},
  title =        {First Class Phantom Types},
  institution =  {Cornell University},
  year =         {2003},
  number =       {CUCIS TR2003-1901},
  address =      {http://techreports.library.cornell.edu:8081/Dienst/UI/1.0/Display/cul.cis/TR2003-1901},
}

@InProceedings{FunctionalNotation,
  author =       {Matthias Neubauer and Peter Thiemann and Martin Gasbichler and Michael Sperber},
  conference =   {2001 Haskell Workshop},
  title =        {A Functional Notation for Functional Dependencies},
  month =        {September},
  year =         {2001},
  pages =        {101--120},
}

@misc{ hallgren-fun,
  author = {Thomas Hallgren},
  title =  {Fun with Functional Dependencies},
  text =   {In Joint Winter Meeting of the Departments of 
            Computer Science and Computer Engineering, 
            Chalmers University of Technology and Goteborg University, 
            Varberg, Sweden, Jan. 2001. //www.cs.chalmers.se/~hallgren/Papers/wm01.html.},
  year =   {2001},
  notes =  {http://www.cs.chalmers.se/Cs/wm-01/hallgren.ps}
 }

@InProceedings{HinzeRedBlack,
  author = {Ralf Hinze},
  conference = {},
  title = {Constructing red-black trees},
  month = {September},
  year = {1999},
  number = {CUCS-023-99},
  pages = {89--99},
  notes = {In Chris Okasaki, editor, Proceedings of the Workshop on Algorithmic Aspects of Advanced Programming Languages, WAAAPL'99, Paris, France, September 1999, pp. 89-99. The proceedings appear as a technical report of Columbia University, CUCS-023-99.}
}

@inproceedings{sheardLFM04,
author = "Tim Sheard and Emir Pasalic",
title = {Meta-programming With Built-in Type Equality},
booktitle = {Proceedings of the Fourth International Workshop on 
             Logical Frameworks and Meta-Languages (LFM'04).
             \verb+http://cs-www.cs.yale.edu/homes/carsten/lfm04/+},
year = 2004,
month = "July",
address = "Cork, Ireland",
pages = "106-124",
address = "http://cs-www.cs.yale.edu/homes/carsten/lfm04/"
}

@PhdThesis{J92,
  title =        "Qualified types :--theory and practice",
  author =       "Mark P. Jones",
  publisher =    "Oxford [Oxfordshire] :Oxford University Computing
                 Laboratory, Programming Research Group,",
  year =         "1992",
  annote =       "Oxford University Computing Laboratory.--Programming
                 Research Group.",
  description =  "{"}July 1992.{"}; Thesis (Ph. D.)--Keble College,
                 Oxford University, 1992.; Includes bibliographical
                 references (p. 170-176).",
  oai =          "oai:xtcat.oclc.org:OCLCNo/ocm41063081",
  school =       "Keble College, Oxford University",
  subject =      "Abstract data types (Computer science)",
}

@PhdThesis{Pasalic,
  title =        "The Role of Type Equality in Meta-Programming",
  author =       "Emir Pasalic",
  year =         "2004",
  school =       "OGI School of Science \& Engineering, Oregon Health \& Science University",
  subject =      "Meta-Programming (Computer science)",
}

@InProceedings{ONWARD,
  author =       {Tim Sheard},
  title =        {Languages of the Future},
  conference =   {19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'2004)},
  month =        {October},
  year =         {2004},
  pages =        {},
  note =         {OOPSLA Companion Volume}
}
